require("lualib_bundle");
__TS__SourceMapTraceBack(debug.getinfo(1).short_src, {["4"] = 79,["5"] = 3,["6"] = 3,["7"] = 4,["8"] = 4,["9"] = 4,["10"] = 55,["11"] = 59,["12"] = 61,["13"] = 61,["14"] = 61,["15"] = 61,["17"] = 61,["18"] = 62,["19"] = 62,["20"] = 62,["21"] = 62,["22"] = 66,["23"] = 66,["25"] = 67,["27"] = 71,["28"] = 74,["29"] = 74,["31"] = 76,["32"] = 55,["33"] = 79,["34"] = 80,["36"] = 17,["37"] = 29,["38"] = 30,["39"] = 30,["40"] = 30,["41"] = 30,["42"] = 30,["43"] = 30,["44"] = 30,["45"] = 30,["46"] = 29,["47"] = 39,["48"] = 84,["49"] = 83,["50"] = 84,["51"] = 87,["52"] = 83});
local ____exports = {}
local createTextElement
local ____common = require("solar.w3ts.tsx.basic_pragma.common")
local TEXT_ELEMENT = ____common.TEXT_ELEMENT
local ____arrays = require("solar.w3ts.tsx.basic_pragma.utils.arrays")
local compact = ____arrays.compact
local getLength = ____arrays.getLength
function ____exports.createElement(self, ____type, config, ...)
    local children = {...}
    local ____temp_0 = __TS__ObjectAssign({}, config)
    local key = ____temp_0.key
    if key == nil then
        key = nil
    end
    local props = __TS__ObjectRest(____temp_0, {key = true})
    local flattenedChildren = ____exports.processChildren(
        nil,
        children and getLength(nil, children) > 0 and children or ({})
    )
    if #flattenedChildren > 0 then
        props.children = flattenedChildren
    else
        __TS__Delete(props, "children")
    end
    local vnode = {type = ____type, props = props}
    if key ~= nil then
        vnode.key = key
    end
    return vnode
end
function createTextElement(self, value)
    return ____exports.createElement(nil, TEXT_ELEMENT, {nodeValue = value})
end
____exports.isChild = function(____, obj) return type(obj) == "table" and obj ~= nil and obj.type ~= nil and obj.props ~= nil or type(obj) == "boolean" or type(obj) == "string" end
____exports.processChildren = function(____, children) return __TS__ArrayMap(
    __TS__ArrayFilter(
        compact(
            nil,
            __TS__ArrayFlat(compact(nil, children))
        ),
        function(____, c) return type(c) ~= "boolean" and (type(c) == "string" or not not c.type) end
    ),
    function(____, c) return type(c) == "string" and createTextElement(nil, c) or c end
) end
local EMPTY_OBJECT = {}
local children
____exports.Fragment = function(____, ____bindingPattern0)
    children = ____bindingPattern0.children
    return children or nil
end
return ____exports
